home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 276-300 / disk_284 / filetest / readme < prev    next >
Text File  |  1992-05-06  |  2KB  |  45 lines

  1.   This routine is used to recursively decend the file system tree from
  2.   a specified directory location, reading the files into memory
  3.   (if they will fit) as it goes.  I wrote this to try to isolate a
  4.   problem I was having with a GVP030 board when used with SETCPU's
  5.   FASTROM option and a SCSI hard disk interfaced with a 2090 card.
  6.  
  7.   Dave H:
  8.  
  9.   This program will walk the directory tree of a disk allocating
  10.   and freeing memory buffers and reading in each file as it goes.
  11.   By selecting the "mode" level you can specify which of these
  12.   operations will be done.  As well you can specify several
  13.   delays to be taken between the Open/Read/Close calls.  I tested
  14.   this in two modes:
  15.  
  16.     1) SETCPU CACHE BURST
  17.     2) SETCPU NOCACHE NOBURST FASTROM
  18.  
  19.   The first of these (caches on (both inst and data) and no fastrom)
  20.   worked fine in all tests, the second (nocaches, but fastrom is on)
  21.   only worked with modes 0, 1 and 2, but when mode 3 was used it would
  22.   hang (cli/mouse movement lock up, but NEVER a guru or task held) at
  23.   some point in the file tree.  By changing the first delay parameter
  24.   (del) you can change where in the file tree the hang occurs (I
  25.   tested values of 0, 10, 30, 40, 50 and 100) however the position of
  26.   the hang is not predictable for different delays (the hang occurred
  27.   at an earlier point with delay == 100 than with and other delay). By
  28.   changing the second delay parameter it is possible to get the system
  29.   to work (see below). When I included the "#ifdef TEST" lines it
  30.   appeared that the Read() call is where the lockup takes place.
  31.  
  32.      mytest c2: 3 0  5   hung
  33.      mytest c2: 3 0 25   hung
  34.      mytest c2: 3 5 25   worked sometimes, hung other times
  35.      mytest c2: 3 25 5   hung
  36.      mytest c2: 3 25 0   hung
  37.      mytest c2: 3 5  5   hung
  38.      mytest c2: 3 0  0   hung
  39.  
  40.   Perhaps the system is returning from the Open() call too soon and
  41.   the Read() then gets confused by an incorrectly/incompletely
  42.   opened file?  It also appears that the system is returning from the
  43.   Read() call before it completes since the scanning (files/sec)
  44.   is faser for the "3 25 5" case than the "3 5 25" case.
  45.